package com.cjc.hotel.server.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@ApiModel(value="com-cjc-hotel-server-entity-TOrder")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_order")
public class TOrder {
    /**
     * 订单编号
     */
    @TableId(value = "order_id", type = IdType.INPUT)
    @ApiModelProperty(value="订单编号")
    private String orderId;

    /**
     * 酒店id
     */
    @TableField(value = "hotel_id")
    @ApiModelProperty(value="酒店id")
    private Integer hotelId;

    /**
     * 房间Id
     */
    @TableField(value = "room_id")
    @ApiModelProperty(value="房间Id")
    private Integer roomId;

    /**
     * 价格
     */
    @TableField(value = "price")
    @ApiModelProperty(value="价格")
    private BigDecimal price;

    /**
     * 总价格
     */
    @TableField(value = "total_amount")
    @ApiModelProperty(value="总价格")
    private BigDecimal totalAmount;

    /**
     * 联系电话
     */
    @TableField(value = "phone")
    @ApiModelProperty(value="联系电话")
    private String phone;

    /**
     * 真实姓名
     */
    @TableField(value = "real_name")
    @ApiModelProperty(value="真实姓名")
    private String realName;

    /**
     * 是否需要发票
     */
    @TableField(value = "is_invoice")
    @ApiModelProperty(value="是否需要发票")
    private Integer isInvoice;

    /**
     * 状态（0为预定，1为入住，2为退房）
     */
    @TableField(value = "state")
    @ApiModelProperty(value="状态（0为预定，1为入住，2为退房）")
    private Integer state;

    /**
     * 备注
     */
    @TableField(value = "remark")
    @ApiModelProperty(value="备注")
    private String remark;

    /**
     * 预计到达时间
     */
    @TableField(value = "arrival_time")
    @ApiModelProperty(value="预计到达时间")
    private Date arrivalTime;

    /**
     * 退房时间
     */
    @TableField(value = "out_time")
    @ApiModelProperty(value="退房时间")
    private Date outTime;

    /**
     * 入住时间
     */
    @TableField(value = "in_time")
    @ApiModelProperty(value="入住时间")
    private Date inTime;

    /**
     * 确认入住时间
     */
    @TableField(value = "check_in_time")
    @ApiModelProperty(value="确认入住时间")
    private Date checkInTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(value="更新时间")
    private Date updateTime;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value="创建时间")
    private Date createTime;
}